<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

namespace app\admin\behavior;
use think\Db;
use think\Controller;

class System  extends Controller{

    public function run(&$params) {
        // 行为逻辑
        // 统计信息
        $static = [];
        // 附件数
        $static['filenum'] = $this->_shuliang(APP_DIR . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . APP_THEME);
       
        
        // $this->assign('static', $static);
        // 系统信息
        $version = Db::query('SELECT VERSION() AS ver');
        $config = [
            'thinkphp_ver' => THINK_VERSION,
            'url' => $_SERVER['HTTP_HOST'],
            'document_root' => $_SERVER['DOCUMENT_ROOT'],
            'server_os' => PHP_OS,
            'server_port' => $_SERVER['SERVER_PORT'],
            'server_ip' => $_SERVER['SERVER_ADDR'],
            'server_soft' => $_SERVER['SERVER_SOFTWARE'],
            'php_version' => PHP_VERSION,
            'mysql_version' => $version[0]['ver'],
        ];

        echo $this->fetch('behavior/system', $config);

        //   return $config;
    }

    //给我一个文件夹，返回该文件夹下所有的文件数量
    function _shuliang($url) {//造一个方法，给一个参数
        $sl = 0; //造一个变量，让他默认值为0;
        $arr = glob($url); //把该路径下所有的文件存到一个数组里面;
        foreach ($arr as $v) {//循环便利一下，吧数组$arr赋给$v;
            if (is_file($v)) {//先用个if判断一下这个文件夹下的文件是不是文件，有可能是文件夹;
                $sl++; //如果是文件，数量加一;
            } else {
                $sl += $this->_shuliang($v . "/*"); //如果是文件夹，那么再调用函数本身获取此文件夹下文件的数量，这种方法称为递归;
            }
        }
        return $sl; //当这个方法走完后，返回一个值$sl,这个值就是该路径下所有的文件数量;
    }

}
